// 1.安装better-sqlite3模块

// 2.加载模块，加载完成后将返回一个sqlite连接的构造函数
const Database=require("better-sqlite3");



/* 3.创建连接数据库的对象
new Database(path[,options]);
path:以路径方式指定sqlite数据文件
options：数据库连接时候的相关配置，用于设置数据库操作模式
{
    fileMustExist:true,当设置为true时候，表示指定文件必须存在，如果不存在将报错
    verbose:console.log提供一个函数，用于记录和触发后续的数据操作
}
 */
const db=new Database("./data.sqlite",{
    fileMustExist:true,
    verbose:console.log
});



/* 4.通过db对象完成数据库的操作，主要使用db.prepare()方法
db.prepare(sql语句)通过定义sql语句记录操作要求
sql语法是数据库的操作的标准语法 */

let sql='select id,name from t_class';
const stmt=db.prepare(sql);


/* 5.基于stmt对象，执行流对象：将sql语句编译成二进制文件通过代码的方式传递给sqlite的文件，然后进行操作
        查询调用 stmt.all()   stmt.get()
        删除调用、修改调用、添加作用  stmt.run() */

// 查询调用，stmt.all() 以数组的方式返回所有查询的数据
// let rows=stmt.all();
// console.log(rows);

// 查询调用，stmt.get()只返回查询结果中第一条数据
let row=stmt.get();
console.log(row);